package com.prueba.shared.entity;

import java.util.ArrayList;

public class Persona {

	private String nombres;
	private String apellidos;
	private String email;
	private String fechaNacimiento;
	private ArrayList<Producto> listaProductos;

	public Persona() {

		this.nombres = "";
		this.apellidos = "";
		this.email = "";
		this.fechaNacimiento = "";
		this.listaProductos = new ArrayList<Producto>();

	}

	public Persona(String nombres, String apellidos, String email,
			String fechaNacimiento, ArrayList<Producto> listaProductos) {

		this.nombres = nombres;
		this.apellidos = apellidos;
		this.email = email;
		this.fechaNacimiento = fechaNacimiento;
		this.listaProductos = listaProductos;
	}

	public String getNombres() {
		return nombres;
	}

	public void setNombres(String nombres) {
		this.nombres = nombres;
	}

	public String getApellidos() {
		return apellidos;
	}

	public void setApellidos(String apellidos) {
		this.apellidos = apellidos;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getFechaNacimiento() {
		return fechaNacimiento;
	}

	public void setFechaNacimiento(String fechaNacimiento) {
		this.fechaNacimiento = fechaNacimiento;
	}

	public ArrayList<Producto> getListaProductos() {
		return listaProductos;
	}

	public void setListaProductos(ArrayList<Producto> listaProductos) {
		this.listaProductos = listaProductos;
	}

	@Override
	public String toString() {

		String persona = this.nombres + ";;" + this.apellidos + ";;"
				+ this.email + ";;" + this.fechaNacimiento + "-";

		for (int i = 0; i < this.listaProductos.size(); i++) {
			persona += this.listaProductos.get(i).getNombre() + ";"
					+ this.listaProductos.get(i).getDescripcion() + ";"
					+ this.listaProductos.get(i).getValor() + ";;";
		}

		return persona;
	}

	public void fromString(String persona) {

		System.out.println("input es " + persona);

		String[] datosPersona = persona.split("-");

		String datosPersonales = datosPersona[0];
		String productos = datosPersona[1];

		String[] datosPersonalesV = datosPersonales.split(";;");
		String[] productosV = productos.split(";;");

		this.setNombres(datosPersonalesV[0]);
		this.setApellidos(datosPersonalesV[1]);
		this.setEmail(datosPersonalesV[2]);
		this.setFechaNacimiento(datosPersonalesV[3]);

		for (int i = 0; i < productosV.length; i++) {
			String[] datosProducto = productosV[i].split(";");

			Producto producto = new Producto();

			producto.setNombre(datosProducto[0]);
			producto.setDescripcion(datosProducto[1]);
			producto.setValor(Integer.parseInt(datosProducto[2]));

			this.getListaProductos().add(producto);

		}

		System.out.println("La persona armada es " + this.toString());

	}

	public String listaProductosToString() {

		String listaProductos = "";

		for (int i = 0; i < this.listaProductos.size(); i++) {
			listaProductos += this.listaProductos.get(i).getNombre() + ";"
					+ this.listaProductos.get(i).getDescripcion() + ";"
					+ this.listaProductos.get(i).getValor() + ";;";
		}

		return listaProductos;

	}

}
